const axios = require('axios')
const _baseUrl = '/gateway/dataSet/api'

// 上传数据集
export function dataSet (data, query) {
  const url = _baseUrl + '/dataSet' + query
  return axios.post(url, data).then((res) => {
    return Promise.resolve(res.data)
  })
}

// 获取公开数据集
export function getPublicDataSet (query) {
  const url = _baseUrl + '/dataSet/publicDataSetList' + query
  return axios.get(url).then((res) => {
    return Promise.resolve(res.data)
  })
}

// 搜索公开数据集列表
export function searchPublicDataSetList (query) {
  const url = _baseUrl + '/dataSet/searchPublicDataSetList' + query
  return axios.get(url).then((res) => {
    return Promise.resolve(res.data)
  })
}

// 获取我的数据集
export function getDataSet (query) {
  const url = _baseUrl + '/dataSet' + query
  return axios.get(url).then((res) => {
    return Promise.resolve(res.data)
  })
}

// 获取下拉列表数据集选项列表
export function getDataSetOptions () {
  const url = _baseUrl + '/optionalDataSet'
  return axios.get(url).then((res) => {
    return Promise.resolve(res.data)
  })
}

// 获取数据集的示例照片
export function getDataSetPicture (query) {
  const url = _baseUrl + '/dataSetPicture' + query
  return axios.get(url).then((res) => {
    return Promise.resolve(res.data)
  })
}

// 获取数据集的结构
export function getDataSetFile (query) {
  const url = _baseUrl + '/dataSetFile' + query
  return axios.get(url).then((res) => {
    return Promise.resolve(res.data)
  })
}

// 获取邮箱对应的用户信息
export function getSharingUserInfo (query) {
  const url = _baseUrl + '/dataSet/getSharingUserInfo' + query
  return axios.get(url).then((res) => {
    return Promise.resolve(res.data)
  })
}

// 数据集共享人员信息
export function getDataSetSharingUser (query) {
  const url = _baseUrl + '/dataSet/getDataSetSharingUser' + query
  return axios.get(url).then((res) => {
    return Promise.resolve(res.data)
  })
}

// 公开数据集
export function openDataSet (data) {
  const url = _baseUrl + '/dataSet/openDataSet'
  return axios.post(url, data).then((res) => {
    return Promise.resolve(res.data)
  })
}

// 着陆页公开数据集
export function getOpenDataSetInfo (query) {
  const url = _baseUrl + '/openDataSetInfo' + query
  return axios.get(url).then((res) => {
    return Promise.resolve(res.data)
  })
}

// 获取项目数据集列表
export function getProjectDataSetList (query) {
  const url = _baseUrl + '/dataSet/getProjectDataSetList' + query
  return axios.get(url).then((res) => {
    return Promise.resolve(res.data)
  })
}

// 数据集是否公开给个人用户
export function checkDataSetPublicPersonFlag (query) {
  const url = _baseUrl + '/checkDataSetPublicPersonFlag' + query
  return axios.get(url).then((res) => {
    return Promise.resolve(res.data)
  })
}

// 关注/取消关注数据集
export function attentionDataSet (query) {
  const url = _baseUrl + '/dataSet/attentionDataSet' + query
  return axios.get(url).then((res) => {
    return Promise.resolve(res.data)
  })
}

// 获取数据集公开用户列表
export function getDataSetSharingUserList (query) {
  const url = _baseUrl + '/getDataSetSharingUserList' + query
  return axios.get(url).then((res) => {
    return Promise.resolve(res.data)
  })
}

// 数据集关注情况
export function getUserAttentionStatus (query) {
  const url = _baseUrl + '/getUserAttentionStatus' + query
  return axios.get(url).then((res) => {
    return Promise.resolve(res.data)
  })
}

// 获取我的数据集列表(用户所有和用户关注的)
export function getUserDataSet (query) {
  const url = _baseUrl + '/getUserDataSet' + query
  return axios.get(url).then((res) => {
    return Promise.resolve(res.data)
  })
}

// 公开数据集列表（不包含自己创建的）
export function optionalDataSetExceptOwn (query) {
  const url = _baseUrl + '/optionalDataSetExceptOwn' + query
  return axios.get(url).then((res) => {
    return Promise.resolve(res.data)
  })
}

// 公开数据集列表（不包含自己创建的、关注的）
export function optionalDataSetExceptOwnAndAttention (query) {
  const url = _baseUrl + '/optionalDataSetExceptOwnAndAttention' + query
  return axios.get(url).then((res) => {
    return Promise.resolve(res.data)
  })
}

// 获取数据集简介
export function getDataSetConfig (query) {
  const url = _baseUrl + '/getDataSetConfig' + query
  return axios.get(url).then((res) => {
    return Promise.resolve(res.data)
  })
}
